home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d27 / func10.arc / FUNCT-10.PAT next >
Text File  |  1991-09-25  |  4KB  |  107 lines

  1.  
  2.                           FUNCT-10.PAT
  3.  
  4.      This is a patch for QEMM-386 versions 5.10 to 5.13.  It is not 
  5. useful on any other version of QEMM-386.
  6.  
  7. WHAT CAUSES THE PROBLEM?
  8.      Requesting a UMB:  If a program tries to to use the XMS (eXtended 
  9. Memory Specification) to allocate a UMB (Upper Memory Block) there is a 
  10. bug in QEMM-386 that, under certain special circumstances, may cause a 
  11. reboot.  Function 10 is the XMS function that allocates a UMB.
  12.  
  13. TO WHOM WILL IT HAPPEN?
  14.      Probably only to programs that are hooking INT 1 and paying 
  15. attention to 386 extended registers.  PKUNZIP has been involved in all 
  16. reported cases of this problem.  The reboot may occur when PKUNZIP is 
  17. executing or when another program runs after PKUNZIP or PKZIP has 
  18. executed.  The problem will not happen if the high order byte of EAX is 
  19. zero when function 10 is invoked.  
  20.  
  21. WHAT IS THE FIX?
  22.      Here is a patch to eliminate the problem on QEMM-386 
  23. versions 5.10 through 5.13:
  24.           
  25.      1) Make a copy of the QEMM386.SYS file in your QEMM directory.  
  26.      We are about to alter your current copy of QEMM386.SYS; the copy 
  27.      you make will serve as a backup in case this operation fails.
  28.  
  29.            COPY C:\QEMM\QEMM386.SYS C:\QEMM\QEMMOLD.SYS
  30.  
  31.           (If your QEMM386.SYS is not located in the QEMM directory of 
  32.      the C: drive, change the path accordingly.)
  33.  
  34.      2) Go to the DOS directory on the hard disk and type:
  35.  
  36.                      DEBUG C:\QEMM\QEMM386.SYS
  37.  
  38.           (If your QEMM386.SYS is not located in the QEMM directory of 
  39.      the C: drive, change the path accordingly.)
  40.  
  41.           Hit the Enter key; you should see the DEBUG prompt, which is a 
  42.      hyphen.
  43.  
  44.      3) At the DEBUG prompt, type:
  45.  
  46.           S 100 L FF00 B3 B1 33 C9 9C
  47.  
  48.      Hit the Enter key; DEBUG should return a segment address and offset
  49.  
  50.           xxxx:yyyy
  51.  
  52.      4) At the DEBUG prompt again, use the segment address and offset
  53.      that was just returned to give the DEBUG command:
  54.  
  55.           E xxxx:yyyy B1 B1 33 C9 90
  56.                               
  57.           The addresses that DEBUG returned in step 3 should be used in 
  58.      place of the addresses xxxx:yyyy and xxxx:zzzz, which we use as 
  59.      examples.  Hit the Enter the key after each command; the DEBUG 
  60.      prompt should return in a moment.
  61.  
  62.      5) At the DEBUG prompt, type:
  63.  
  64.           S 100 L FF00 B8 1 0 9D
  65.  
  66.      Hit the Enter key; DEBUG should return a segment address and 
  67.      an offset:
  68.           
  69.           xxxx:zzzz
  70.  
  71.      6) At the DEBUG prompt again, use the segment address and offset 
  72.      that was returned in step 5 to give the DEBUG command:
  73.  
  74.           E xxxx:zzzz B8 1 0 FB
  75.    
  76.      The address that DEBUG returned in step 5 should be used in place of 
  77.      the address xxxx:zzzz, which we use as an example.  Hit the Enter key; 
  78.      the DEBUG prompt should return in a moment.
  79.  
  80.      7) At the DEBUG prompt, type
  81.  
  82.           W
  83.  
  84.      Hit the Enter key; DEBUG will announce that it is writing a certain 
  85.      number of bytes, then it will return the DEBUG prompt.
  86.  
  87.      10) At the DEBUG prompt, type
  88.  
  89.           Q
  90.  
  91.      Hit the Enter key to exit DEBUG and return to DOS.
  92.  
  93.         --------------------------------------------------
  94.  
  95.      If the system fails after you perform this patch, copy the backup 
  96. of QEMM386 that you made back to its original name.  
  97.  
  98.            COPY C:\QEMM\QEMMOLD.SYS C:\QEMM\QEMM386.SYS
  99.  
  100.      (If your QEMM386.SYS is not located in the QEMM  directory of the 
  101. C: drive, change the path accordingly.)
  102.  
  103.      You may then wish to try the above procedure again, in case a 
  104. mistake was made.
  105.  
  106.                 * * *   E N D   O F   F I L E    * * *
  107.